import geo
import pandas as pd
#定义骑行函数，输入调用API的验证密匙，以及输入地址字符和输出地址字符串
def direction_bicycling(key,start_address, end_address):
    """    """
    start = geo.geocode(key,start_address)['geocodes'][0]['location']#对开始地址的字符串调用geo函数和进行运算，以反馈开始地址的经纬度坐标
    end = geo.geocode(key,end_address)['geocodes'][0]['location']#对结束地址的字符串调用geo函数和进行运算，以反馈结束地址的经纬度坐标
    results = geo.bicycling(key,start,end) #调用bicycling函数，输入API密匙，由上述两个步骤获取到的两地经纬度的坐标
    df = pd.json_normalize(results['data']['paths'][0]['steps'])#对反馈的结果进行查询，需要用到的数据都在子目录'steps'中
    return df#返回查询到的数据
#定义距离查询函数，直接从上一个函数的steps目录中获取到distance距离的信息，由于每次返回的路径信息都是分段的，因此需要对每一段的距离进行相加得到总距离
def total_bicycle(df):
    """    """
    distance = df['distance'].to_list()
    sum_num = 0
    for i in distance:
        sum_num += int(i)
    return sum_num

#定义距离查询函数，直接从上一个函数的steps目录中获取到duration持续时间的信息，由于每次返回的时间信息都是分段的，因此需要对每一段的时间进行相加得到总距离
def total_bicycle_time(df):
    """    """
    duration = df['duration'].to_list()
    sum_num = 0
    for i in duration:
        sum_num += int(i)
    return sum_num // 60
